import java.util.ArrayList;
import java.util.Scanner;

// 定义 IntegerStack 接口
interface IntegerStack {
    Integer push(Integer item); // 入栈
    Integer pop();              // 出栈
    Integer peek();             // 获取栈顶元素
    boolean empty();            // 判断栈是否为空
    int size();                 // 获取栈中元素数量
}

// 实现类 ArrayListIntegerStack
class ArrayListIntegerStack implements IntegerStack {
    private ArrayList<Integer> list;

    // 构造方法
    public ArrayListIntegerStack() {
        list = new ArrayList<>();
    }

    @Override
    public Integer push(Integer item) {
        if (item == null) {
            return null; // 如果 item 为 null，不入栈直接返回 null
        }
        list.add(item); // 添加到列表末尾
        return item;    // 返回入栈的 item
    }

    @Override
    public Integer pop() {
        if (list.isEmpty()) {
            return null; // 如果栈为空，返回 null
        }
        return list.remove(list.size() - 1); // 移除并返回最后一个元素
    }

    @Override
    public Integer peek() {
        if (list.isEmpty()) {
            return null; // 如果栈为空，返回 null
        }
        return list.get(list.size() - 1); // 返回最后一个元素但不出栈
    }

    @Override
    public boolean empty() {
        return list.isEmpty(); // 判断栈是否为空
    }

    @Override
    public int size() {
        return list.size(); // 返回栈中元素数量
    }

    @Override
    public String toString() {
        return list.toString(); // 直接调用 List 的 toString 方法
    }
}

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 创建 ArrayListIntegerStack 对象
        ArrayListIntegerStack stack = new ArrayListIntegerStack();

        // 输入 m 个值，均入栈
        int m = scanner.nextInt();
        for (int i = 0; i < m; i++) {
            Integer item = scanner.nextInt();
            System.out.println(stack.push(item)); // 打印入栈返回结果
        }

        // 输出栈顶元素、是否为空、size
        System.out.println(stack.peek() + "," + stack.empty() + "," + stack.size());

        // 输出栈中所有元素
        System.out.println(stack);

        // 输入 x，然后出栈 x 次
        int x = scanner.nextInt();
        for (int i = 0; i < x; i++) {
            System.out.println(stack.pop()); // 打印出栈的对象
        }

        // 输出栈顶元素、是否为空、size
        System.out.println(stack.peek() + "," + stack.empty() + "," + stack.size());

        // 输出栈中所有元素
        System.out.println(stack);

        scanner.close();
    }
}